def find_most_frequent_number(nums):
    """
    找出给定列表中出现次数超过一半的数字

    参数：
    - nums：一个整数列表

    返回值：
    - 如果存在出现次数超过一半的数字，返回该数字；否则，返回 None
    """
    # 复制列表以避免修改原始列表
    temp = nums.copy()

    # 对列表进行排序
    temp.sort()

    # 返回排序后列表的中间元素
    return temp[len(temp) // 2]


print(find_most_frequent_number([1, 1, 3, 2, 1, 1, 5, 1, 2]))
print(find_most_frequent_number([1, 2, 3, 2, 2, 2, 5, 4, 2]))
print(find_most_frequent_number([1, 3, 3, 3, 1, 1, 5, 3, 3]))
print(find_most_frequent_number([1, 4, 3, 4, 4, 5, 4, 3, 4]))
